package cn.dengta.webapp.im.enums;

import cn.dengta.webapp.model.ChatBizMode;
import lombok.Getter;

/**
 * 聊天类型
 */
@Getter
public enum ChatType implements ChatBizMode {

	/** 搭讪 */
	GREET("搭讪"),
	/** 消息聊天（含文本、图片） */
	MSG("消息"),
	/** 语音聊天 */
	AUDIO("语音"),
	/** 视频聊天 */
	VIDEO("视频"),
	/** 直播 */
	LIVE("直播");

	public final Integer value;
	public final String label;

	ChatType(String label) {
		this.value = ordinal();
		this.label = label;
	}

	public static ChatType of(Integer val) {
		return val == null ? null : values()[val];
	}

	/**
	 * 是否是（音视频）通话聊天类型
	 */
	public boolean isCall() {
		return this == VIDEO || this == AUDIO;
	}

	@Override
	public ChatType type() {
		return this;
	}

	public static ChatType ofCall(boolean isAudioOrVideo) {
		return isAudioOrVideo ? AUDIO : VIDEO;
	}

}
